#ifndef CLOUD_SEA__CLOUD_SEA_HPP_
#define CLOUD_SEA__CLOUD_SEA_HPP_

#include <rclcpp/rclcpp.hpp>
#include <sensor_msgs/msg/point_cloud2.hpp>
#include <pcl_conversions/pcl_conversions.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <memory>
#include <string>
#include <limits>
#include <algorithm>

namespace cloud_sea {

class CloudSea : public rclcpp::Node {
public:
    explicit CloudSea(const rclcpp::NodeOptions & options = rclcpp::NodeOptions());
    
private:
    void pointCloudCallback(const sensor_msgs::msg::PointCloud2::SharedPtr msg);
    
    rclcpp::Subscription<sensor_msgs::msg::PointCloud2>::SharedPtr pointcloud_sub_;
    std::string pointcloud_topic_;
    
    // 边界值变量
    double min_x_;
    double max_x_;
    double min_y_;
    double max_y_;
};

} // namespace cloud_sea

#endif // CLOUD_SEA__CLOUD_SEA_HPP_